﻿#ifndef Belt_H
#define Belt_H
#include "CLogOper.h"
#include "CMeasurePoint.h"
#include "CBeltFactHy.h"
class  Belt
{
public:
    Belt();
	Belt(QString sName, QString sId, QString sConfig = "");
	~Belt();
	bool startDevice();               //启动设备
	bool stopDevice();                //停止设备
	QWidget* getDeviceConfigUi();
	QWidget* getMainUi();
	QWidget* getPanel(int nId);                         //获取指定面板
	QVector<QWidget *>getPanelList();                   //获取面板列表
	QList<CMeasurePoint*> getMeasurePoints();
	QMap<QString, QString> getInputPointList();         //获取输入测点列表
	void setInputPoint(QMap<QString, CMeasurePoint*>);  //设置输入测点
public:
	CBeltDataBase *m_pBeltData;         //数据对象
	CBeltCtrMgr *m_pBeltCtrMgr;         //控制对象 
	CBeltWorkBase *m_pBeltWork;         //工作业务逻辑 
	CPointMgrBase *m_pPointMgrBase;
private:
	void init();                        //设备初始化
public:
	QString m_sId;
	QString m_sGuid;
	QString m_sName;
	int     m_nType;                    //设备类型
	CBeltFactHy *m_pBeltFactHy;         //设备创建工厂 
	QWidget* m_pConfoig;           //配置界面
	QWidget* m_pMainUi;           //配置界面
	QMap<QString, QString>m_mapPointList; //测点列表
	QMap<QString, CMeasurePoint*>m_mapInputPoint; //输入测点列表

};
#endif